home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
libs
/
maestixlib.lha
/
Maestix
/
include
/
libraries
/
maestix.i
< prev
Wrap
Text File
|
1995-06-26
|
7KB
|
209 lines
IFND LIBRARIES_MAESTIX_I
LIBRARIES_MAESTIX_I SET 1
**
** Maestix Library References - V38
**
** © 1995 Richard Körber
**
IFND EXEC_TYPES_I
INCLUDE 'exec/types.i'
ENDC
IFND UTILITY_TAGITEM_I
INCLUDE 'utility/tagitem.i'
ENDC
IFND EXEC_PORTS_I
INCLUDE 'exec/ports.i'
ENDC
IFND EXEC_LISTS_I
INCLUDE 'exec/lists.i'
ENDC
IFND EXEC_LIBRARIES_I
INCLUDE 'exec/libraries.i'
ENDC
*------------------------------------------------------------------------*
* Generic library informations
MAESTIXNAME MACRO
dc.b "maestix.library",0
ENDM
MAESTIXVERSION EQU 39
STRUCTURE MaestixBase,0
STRUCT mxb_LibNode,LIB_SIZE
LABEL mxb_SIZEOF
*------------------------------------------------------------------------*
* MaestroBase structure
STRUCTURE MaestroBase,0
WORD maba_Dummy ;PRIVATE
LABEL maba_SIZEOF
*------------------------------------------------------------------------*
* DataMessage
STRUCTURE DataMessage,0
STRUCT dmn_Message,MN_SIZE ;struct Message
APTR dmn_BufPtr ;pointer to public buffer memory
ULONG dmn_BufLen ;length of buffer memory (bytes)
LABEL dmn_SIZEOF
*------------------------------------------------------------------------*
* Tag definitions
_MSTXTAG EQU $CD414553 ;Maestix tag base ("MAES")
* SetMaestro() tags
*
MTAG_Input EQU _MSTXTAG+$00 ;Input? Def. INPUT_STD
MTAG_Output EQU _MSTXTAG+$01 ;Output? Def. OUTPUT_BYPASS
MTAG_SetCSB EQU _MSTXTAG+$02 ;Direct CSB access
MTAG_SetUDB EQU _MSTXTAG+$03 ;Direct UDB access
MTAG_Studio EQU _MSTXTAG+$04 ;Studio mode? (TRUE/FALSE)
MTAG_CopyProh EQU _MSTXTAG+$05 ;Copy protection?
MTAG_Emphasis EQU _MSTXTAG+$06 ;Emphasis
MTAG_Source EQU _MSTXTAG+$07 ;Source category code
MTAG_Rate EQU _MSTXTAG+$08 ;Output rate
MTAG_Validity EQU _MSTXTAG+$09 ;Validity flag (TRUE/FALSE)
MTAG_ResetUDB EQU _MSTXTAG+$0A ;Reset UDB
MTAG_ResetLSA EQU _MSTXTAG+$0C ;Reset Local Sample Address
* StartRealtime() tags
*
MTAG_Effect EQU _MSTXTAG+$0D ;effect number (see below)
MTAG_A0 EQU _MSTXTAG+$0E ;parameter -> A0
MTAG_A1 EQU _MSTXTAG+$0F ;parameter -> A1
MTAG_D2 EQU _MSTXTAG+$10 ;parameter -> D2
MTAG_D3 EQU _MSTXTAG+$11 ;parameter -> D3
MTAG_CustomCall EQU _MSTXTAG+$12 ;pointer to custom call
*------------------------------------------------------------------------*
* Tag values for MTAG_Input
INPUT_STD EQU 0 ;User selected input
INPUT_OPTICAL EQU 1 ;optical input
INPUT_COAXIAL EQU 2 ;coaxial input
INPUT_SRC48K EQU 3 ;48kHz internal source
*------------------------------------------------------------------------*
* Tag values for MTAG_Output
OUTPUT_BYPASS EQU 0 ;Bypass
OUTPUT_INPUT EQU 1 ;from input
OUTPUT_FIFO EQU 2 ;from FIFO
*------------------------------------------------------------------------*
* Tag values for MTAG_CopyProh
CPROH_OFF EQU 0 ;No protection requested
CPROH_ON EQU 1 ;Copy protection requested
CPROH_PROHIBIT EQU 2 ;Copy prohibited
CPROH_INPUT EQU 3 ;As input
*------------------------------------------------------------------------*
* Tag values for MTAG_Emphasis
EMPH_OFF EQU 0 ;no emphasis
EMPH_50us EQU 1 ;50/15µs
EMPH_CCITT EQU 2 ;CCITT J.17 (studio only)
EMPH_MANUAL EQU 3 ;Manuell (studio only)
EMPH_INPUT EQU 4 ;As input
EMPH_ON EQU EMPH_50us
*------------------------------------------------------------------------*
* Tag values for MTAG_Source
SRC_INPUT EQU 0 ;As input
SRC_CD EQU $01 ;CD
SRC_DAT EQU $03 ;DAT
SRC_DSR EQU $0C ;DSR
SRC_ADCONV EQU $06 ;ADC
SRC_INSTR EQU $05 ;Instrument
*------------------------------------------------------------------------*
* Tag values for MTAG_Rate
RATE_32000 EQU 0 ;Rate 32000 Hz
RATE_44100 EQU 1 ;Rate 44100 Hz
RATE_48000 EQU 2 ;Rate 48000 Hz
RATE_48000MANU EQU 3 ;Rate 48000 Hz Manual
RATE_INPUT EQU 4 ;As input
*------------------------------------------------------------------------*
* Realtime FX codes
RFX_Muting EQU 0 ;mute incoming signal
RFX_Bypass EQU 1 ;no manipulation (default)
RFX_ChannelSwap EQU 2 ;swap left and right
RFX_LeftOnly EQU 3 ;mute right channel
RFX_RightOnly EQU 4 ;mute left channel
RFX_Mono EQU 5 ;mono
RFX_Surround EQU 6 ;surround
RFX_Volume EQU 7 ;volume
;MTAG_D2: left volume (0..256)
;MTAG_D3: right volume (0..256)
RFX_Karaoke EQU 8 ;filters out the singer
RFX_Foregnd EQU 9 ;filters out the surround info
RFX_Spatial EQU 10 ;virtual shifting of the speakers
;MTAG_D2: shift factor (0..256)
; optimum: about 64
RFX_Echo EQU 11 ;echo effect
;MTAG_D2: entry volume (0..256)
;MTAG_D3: fade volume (0..256)
;MTAG_A0: pointer to mrtor structure
RFX_Mask EQU 12 ;mask/quantisize
;MTAG_D2: left mask word
;MTAG_D3: right mask word
RFX_Offset EQU 13 :adding dc offset
;MTAG_D2: left offset (32767..-32768)
;MTAG_D3: right offset (32767..-32768)
*------------------------------------------------------------------------*
* Torus structure for RFX_Echo
STRUCTURE MRTorus,0
APTR mrtor_PointerL ;Pointer to left data buffer
APTR mrtor_PointerR ;Pointer to right data buffer
ULONG mrtor_Size ;Size of these buffers (bytes)
ULONG mrtor_Offset ;current offset (init with NULL)
LABEL mrtor_SIZEOF
*------------------------------------------------------------------------*
* GetStatus() values
MSTAT_TFIFO EQU 0 ;Transmit FIFO Status (s.b.)
MSTAT_RFIFO EQU 1 ;Receive FIFO Status (s.b.)
MSTAT_Signal EQU 2 ;Signal on input? (BOOL)
MSTAT_Emphasis EQU 3 ;Signal uses emphasis? (BOOL)
MSTAT_DATsrc EQU 4 ;DAT-Source? (BOOL)
MSTAT_CopyProh EQU 5 ;Copy protection? (BOOL)
MSTAT_Rate EQU 6 ;Rate (ULONG)
MSTAT_UDB EQU 7 ;get current UDB (UBYTE)
* Values for TFIFO & RFIFO
*
FIFO_Off EQU 0 ;FIFO ist aus
FIFO_Running EQU 1 ;FIFO läuft
FIFO_Error EQU 2 ;FIFO lief über
ENDC